約 6,688,769 件
https://w.atwiki.jp/arduino/pages/24.html
プルアップの回路 http //www.arduino.cc/en/Tutorial/Button imageプラグインエラー ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 スイッチがOFFの時はAの電圧がHIGHになる。 スイッチがONの時はAの電圧がLOWになる。 プルダウンの回路 imageプラグインエラー ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 スイッチがOFFの時はAの電圧がLOWになる。 スイッチがONの時はAの電圧がHIGHになる。 消費電力 通常状態でスイッチがOFFの場合はプルダウンの回路の方が消費電力が少ない。 通常状態でスイッチがONの場合はプルアップの回路の方が消費電力が少ない。 まあ気にすることはないと思うけど。 AVR内蔵のプルアップ抵抗を使える? http //nekosan0.bake-neko.net/structure_digital_port.html によると、 digitalWrite(pin, HIGH); でプルアップされるようです。 imageプラグインエラー ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 抵抗1つ省略できるので便利。 抵抗値は? プルアップの場合 mega168のデータシートによるとAVR内蔵のプルアップ抵抗は20K-50Kだそうだ。 電圧を測定する部分の抵抗値(=A)より十分小さい スイッチがONになってGNDに接続されても電流が多すぎない という抵抗値である必要があるわけだから100Kではたぶん大きすぎ、1Kでは5Vで5mA。 1Kから20Kぐらいの間で適当に選べばよさそうかな。 プルダウンの場合 スイッチがONになってGNDに接続されても電流が多すぎない 十分しっかりGNDに引っ張れる値 と考えると、何オーム? 内蔵プルアップでのスケッチ int ledPin = 13; int inputPin = 2; void setup() { pinMode(ledPin, OUTPUT); pinMode(inputPin, INPUT); digitalWrite(inputPin, HIGH); // pull-up } void loop(){ int in = digitalRead(inputPin); if(in==HIGH){ digitalWrite(ledPin, LOW); //LED OFF } else{ digitalWrite(ledPin, HIGH); //LED ON } } チャタリング防止 チャタリング防止のライブラリがある。 http //www.arduino.cc/playground/Code/Debounce zipをダウンロードしてarduinoのインストール先のhardware/libraries/Debounceに展開する。 #include Debounce.h // http //www.arduino.cc/playground/Code/Debounce int SW_YELLOW = 3; int SW_GREEN = 2; Debounce sw_yellow = Debounce(20, SW_YELLOW); Debounce sw_green = Debounce(20, SW_GREEN); void setup() { Serial.begin(9600); pinMode(SW_YELLOW, INPUT); pinMode(SW_GREEN, INPUT); digitalWrite(SW_YELLOW, HIGH); // pull-up digitalWrite(SW_GREEN, HIGH); // pull-up } void loop(){ if(sw_yellow.update() sw_yellow.read()==LOW) { yellow_count++; Serial.print("yellow_count="); Serial.println(yellow_count); } if(sw_green.update() sw_green.read()==LOW) { // digitalRead(SW_GREEN)==LOW green_count++; Serial.print("green_count="); Serial.println(green_count); } }
https://w.atwiki.jp/traino/pages/15.html
arduinoは、マイコン統合開発環境と呼ばれます。 くわしくは、こちらです。 http //ja.wikipedia.org/wiki/Arduino もう少しわかりやすく説明すると、「マイコンの動作(ソフトウエア)をパソコンで作ってダウンロードするしくみ」といえます。 なお、パソコンで入力するソフトウエアは、スケッチと呼びます。スケッチは、パソコンで処理(コンパイル)されたあとUSBケーブルなどでarduinoマイコンのメモリに転送されます。一度転送したプログラムはパソコンから切り離しても、また電源を切ってもきえることはありません。
https://w.atwiki.jp/arduino/pages/25.html
PCと通信 http //www.musashinodenpa.com/arduino/ref/index.php?f=0 pos=2824 デバッグで便利。 int ledPin = 13; int inputPin = 2; int prevIn = HIGH; void setup() { pinMode(ledPin, OUTPUT); pinMode(inputPin, INPUT); digitalWrite(inputPin, HIGH); // pull-up Serial.begin(19200); Serial.println("hello??"); // "hello??" Serial.println(79, DEC); // "79" Serial.println(79, HEX); // "4F" Serial.println(79, OCT); // "117" Serial.println(79, BIN); // "1001111" Serial.println(1234); // "1234" } void loop(){ int in = digitalRead(inputPin); if(in==HIGH){ digitalWrite(ledPin, LOW); //LED OFF } else{ digitalWrite(ledPin, HIGH); //LED ON } if(prevIn!=in){ Serial.print(millis()); Serial.print(" "); Serial.println(in); } prevIn = in; }
https://w.atwiki.jp/soscomp/pages/162.html
Arduinoとは 種別 Hardware IDE 用途 AVRマイコン開発の省力化 ライセンス GPLとその他 AVRマイコンを手軽に使えるように工夫したボードと開発環境のセット。 Made in Italyなオープンハードウェアです。 今時流行りのフィジカルコンピューティングとやらで、どちらかというと昔ながらの工学系の学生よりは芸術系やヒューマンインターフェイス系の学生に支持されてるもよう。 マイコンに関する知識が無くても、付属のライブラリを使えばLEDの点滅の制御からLCDへの文字の表示までたいがいのことができちゃうようです。 このあたり、RubyやPythonと思想が似通ってる。 対象者 以下のような人にお勧めです。 情報システム学科の学生Cライクな簡単なプログラムでマイコンが制御できます 情報知能学科の学生画面の外に自分の好きなUIを作れます 情報メディア学科の学生アート系の作品で、外界の変化を表示に反映するような作品が作れます。 機械情報学科の学生釈迦に説法ですねわかります ガンスリ厨おまいらの大好きなイタリアの匂いがします。 どこで売ってんの? スイッチサイエンス通販ページ Arduino Duemilanove - いちごりなっくす通販ページ 購入する際はとりあえず、Arduino Duemilanoveを選択しておくといいでしょう。 DuemilanoveはDiecimilaの後継機なので、Diecimila向けに書かれたスケッチやチュートリアルがほとんどそのまま流用可能です。 用意するもの スイッチサイエンスで1個購入してみたのですが、本体以外何も入っていないため、以下のものが必要。 全部大須の海外通商あたりで買える。 USBケーブル(A-Bタイプ)プリンタなどの接続で使われることが多いタイプ 5Vの電源(LaFoneraの電源がちょうど挿せる)いらなくなった携帯電話の充電器のコネクタを丸型コネクタに交換することで自作可能 入出力に繋ぐもの(LED、スイッチ等)ボード上にLEDが載っているため何も繋がなくてもとりあえずテストは可能 チュートリアル スタパ齋藤の「週刊スタパトロニクスmobile」 Arduinoでマイコンしよう!! スタパ齋藤の「週刊スタパトロニクスmobile」 もっと使うゼ!! Arduino!! Arduinoを使った作品例 http //jp.makezine.com/blog/arduino/ http //japanese.engadget.com/tag/Arduino/ LaFoneraとのタイアップ ArduinoはTTLレベルのシリアルポートを持っています。 LaFoneraも同じくTTLレベルのシリアルポートを持っているので、両者をシリアルで接続して簡単なプログラムを書いてやれば、Wi-Fi経由でArduinoにアクセスできます。 無線LANラジコンとか作れそう。(それくらいしか思い浮かばないあたりがイタい 参考サイト Arduino - Wikipedia Arduino Diecimila を使う Arduino - マイクロファン ラボ Arduino日本語リファレンス v0.4 名前 コメント このページへのアクセス数 total - today - yesterday - このページのタグ一覧 AVR Arduino 組み込み
https://w.atwiki.jp/project_plane/pages/11.html
Arduino はイタリア生まれの、AVR マイコンの基板キット。簡単に使える Arduino を使うことで電子回路を簡単に手早く組むことができる。プロトタイプ製作用の基板として設計されているが、ケースに埋め込んで使うことも可能。 Arduino は 13 本のデジタル入出力端子と 6 本のアナログ入力端子を備えている。デジタル入出力端子では、任意の端子に電圧を印加することができ、また任意の端子に対して外部から電圧が印加されているかを確認することができる。またアナログ入力端子では、入力された 0-5 V の電圧を 1024 段階の解像度で確認することができる。Arduino は C 言語に似たプログラミングを実行することができるので、条件分岐や繰り返しを駆使して複雑な電圧操作を行うことができる。 Arduino としての仕様を満たす回路ならば、Arduino として PC からプログラムを書き込むことができる。
https://w.atwiki.jp/nkym_memo/pages/185.html
インストール Ubuntu(12.04で確認) ドライバ・IDEのインストール $ sudo apt-get install arduino パーミッションの変更 $ sudo usermod -a -G dialout ログインユーザー名 $ sudo chmod a+rw /dev/ttyACM0 /dev/ttyACM0かどうかはコマンドdmesgで確認する。 参考URL http //blog.markloiseau.com/2012/05/install-arduino-ubuntu/ emacsで開発 arduino-mode $ cd .emacs.d $ git clone git //github.com/bookest/arduino-mode.git .emacsに追記 (add-to-list load-path "~/.emacs.d/arduino-mode/") (load "arduino-mode") (setq auto-mode-alist (cons ("\\.pde$" . arduino-mode) auto-mode-alist)) (途中)
https://w.atwiki.jp/arduino/pages/30.html
においセンサー TGS2450 http //akizukidenshi.com/catalog/g/gP-00989/ ヒーターの制御 ヒーターに1.6V/138mAでON 8ms/OFF 242msでパルス入力する。 1.6V/8.5Ω = 188mA 1.6V/10.5Ω = 152mA 138mAってどこからきたんだ?? 5V/25Ω=200mA 5V/30Ω=166mA 5V/35Ω=142mA * 5V/40Ω=125mA 25Ω(100Ω*4本)+10Ω(ヒーター)でいいかな。 1/(1/100+1/100+1/100+1/100)=25 センサーから値を取得する センサーににON 5ms/OFF 245msでパルス入力して抵抗値を計る。 臭いと抵抗値が下がる。 タイミングがある。 http //www8.plala.or.jp/InHisTime/page020.html http //mcalc.zapto.org/otherDoc/nioi/index.html 250msサイクル 0ms ヒーターON 8ms ヒータOFF 245ms センサ電圧ON 247ms センサ電圧計測 249ms センサ電圧OFF 回路図 imageプラグインエラー ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 25Ωは100Ωを4本並列。 33Ωは100Ωを3本並列。 スケッチ int ledPin = 13; int sensorAnalogIn = 5; // ANALOG IN int sensorOutPin = 3; // DIGITAL OUT int heaterOutPin = 2; // DIGITAL OUT int count = 0; int val4 = 0; #define REF_VOLTAGE 5.0 //1.1 void setup() { analogReference(DEFAULT); pinMode(ledPin, OUTPUT); pinMode(sensorOutPin, OUTPUT); pinMode(heaterOutPin, OUTPUT); Serial.begin(19200); } void loop() { int val; int i; double volt; double templ; val = 0; // - 0ms. digitalWrite(heaterOutPin, HIGH); digitalWrite(ledPin, HIGH); delay(8); // - 8ms. digitalWrite(heaterOutPin, LOW); digitalWrite(ledPin, LOW); delay(235); // - 245ms. digitalWrite(sensorOutPin, HIGH); if(false){ delay(2); // - 247ms. val += analogRead(sensorAnalogIn); delay(2); // - 249ms. }else{ delay(1); // - 246ms. val += analogRead(sensorAnalogIn); delay(1); // - 247ms. val += analogRead(sensorAnalogIn); delay(1); // - 248ms. val += analogRead(sensorAnalogIn); delay(1); // - 249ms. val += analogRead(sensorAnalogIn); val = val/4; } digitalWrite(sensorOutPin, LOW); delay(1); // - 250ms. val4 += val; if(count%4==3){ volt = REF_VOLTAGE*val4/4/1024.0; Serial.print(count); Serial.print(" "); Serial.print(volt); Serial.println("V."); val4 = 0; } count++; } センサーの消費電力 33Ωを使った状態だと、 通常状態 3.93V ラム(酒)を接近 1.65V 良い感じに反応してる! トランジスタのエミッタの電圧 4.23V で、33Ωとセンサーの変化する抵抗値で何mA流れてて消費電力は? 15mW以下に収まっていればOK。 5V -- 4.23V -- 3.93V -- 0V 33Ω (4.23-3.93)/33=9mA 3.93V*0.009A = 0.035W * センサ抵抗 3.93V/0.009A = 436.6Ω 5V -- 4.23V -- 1.65V -- 0V 33Ω (4.23-1.65)/33=78mA 1.65V*0.078A = 0.128W * センサ抵抗 1.65V/0.078A = 21.15Ω だめじゃん。 5V -- 4.23V -- 2.74V -- 0V 100Ω (4.23-2.74)/100=0.015A 2.74V*0.015A = 0.0411W これでも多い。 Psの最大値15mWって平均値か最大値なのかがわからない。 ヒーターに与える電力を下げてみる? 電圧の変動が小さすぎてA/Dの値が使いにくく、センサー直列の抵抗値を下げていったのだが、 センサーの抵抗値が小さいってことなので抵抗値あがってほしい。 http //oshiete1.goo.ne.jp/qa3834857.html 温度が上がる→抵抗値が下がる ということなので ヒーターに与える電力を下げる→温度が下がる→抵抗値が上がる としてみたら良いかもしれない。 25Ω(100Ω*4本)+10Ω(ヒーター)でいいかな。 5V --- 1.428V --- 0V 25Ω 10Ω 1.428V/10Ω=142mA ちょっと多い 電圧を下げる センサーと直列の抵抗にかける電圧を下げてみたらPsも下がるはず。 可変型高精度ツェナー・シャント・レギュレータ TL431ACZ-AP 10個 100円 これでいいのかしら。2.5Vまでしか下がらないっぽいが。
https://w.atwiki.jp/arduino/pages/27.html
明るさセンサー CdSセルは 明るい 抵抗が小さい 暗い 抵抗が大きい となる。 imageプラグインエラー ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 スケッチ int potPin = 5; int ledPin = 13; long count = 0; int on = LOW; void setup() { pinMode(ledPin, OUTPUT); Serial.begin(19200); } void loop() { int val = analogRead(potPin); if(count 0){ on = on==HIGH ? LOW HIGH; digitalWrite(ledPin, on); Serial.print(millis()); Serial.print(" "); Serial.println(val); count = val*10; } count--; }
https://w.atwiki.jp/ecchutoyama/pages/17.html
Arduinoをつかってロボットを作る。 Arduinoへの道 秋月電子のAVR基板 モータコントロール RCサーボモータ制御 USBケーブルの接続
https://w.atwiki.jp/shiitakeo/pages/33.html
UDP Example - Ethernet - UDPSendRecieveString にサンプルがある.MacアドレスとIPアドレスだけ自分で使うのにしてやる. 付属のP5用サンプルと通信ができる. ArduinoISP IDEについてるサンプルでは,UNOを使ってブートローダ書き込めないので注意. 参考 http //arduino.cc/en/Tutorial/ArduinoISP TLC5940 TLC5940ライブラリを使う. 秋月のフルカラーLED使うときには,1.7~2.4kΩで調整する.より明るくしたければ単色で使うのか,混色で使うのかで抵抗を変える. setAllDC関数を使う LEDの輝度を調節する機能なんだけどふつうに宣言しただけだと関数が見つからないと言われるので, ヘッダファイルを見ると,tlcsetting.hみたいな感じのファイルで,VPRG_ENABLEDを1にしてやる. .inoファイルをVimで開く.SyntaxHighlightを機能させる. //vimrcで au BufNewFile,BufRead *.ino setf arduino